package co.com.claro.servicio.io;


import co.com.claro.comun.conexiondao.comundao;
import co.com.claro.servicio.od.CatalogoOd;
import co.com.claro.servicio.od.ClienteOd;
import co.com.claro.servicio.od.ServicioOd;
import co.com.claro.servicio.od.UsuarioOd;
import org.apache.log4j.Logger;

import java.io.Serializable;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.ResourceBundle;

/**
 * Created by IntelliJ IDEA.
 * User: Manuel Serrano
 * Date: 20/05/2010
 * Time: 02:59:39 PM
 * To change this template use File | Settings | File Templates.
 */
public class ConsultasIo extends comundao implements Serializable {
    private static final Logger logger = Logger.getLogger(ConsultasIo.class);

    /** Constructor de la clase
     */
    public ConsultasIo() {
    }

    public List<ServicioOd> obtenerConsultasPorCliente (String transaccionId, ClienteOd c) throws Exception {
        final String origen = "CatalogoIo.obtenerConsultasPorCliente";
        Connection connection = null;
        CallableStatement statement = null;
        ResultSet result = null;
        List l = new ArrayList();
        long  time = 0;
        List<ServicioOd> servicioOds = null;
        List<ServicioOd> servicioPrimerNivel  = null;
        List<ServicioOd> servicioSegundoNivel  = null;
        List<ServicioOd> servicioTercerNivel  = null;
        try {

            logger.info(ResourceBundle.getBundle("mensajeslogs").getString("mensaje.inicio.ino")+ ConsultasIo.class+" | "+origen);

            time = System.currentTimeMillis ();



            ServicioOd objServicio;

            int x;
            Random r = new Random();

            servicioPrimerNivel = new ArrayList<ServicioOd>();

            ServicioOd objServicio1 = new ServicioOd();
            objServicio1.setId(String.valueOf(1));
            objServicio1.setNombre(String.valueOf("Infraestructura"));

            //------------------ sub servicio -------------------------
            servicioSegundoNivel = new ArrayList<ServicioOd>();
            ServicioOd objServicio2 = new ServicioOd();
            objServicio2.setId(String.valueOf(1));
            objServicio2.setNombre(String.valueOf("Servicios de Comunicaciones"));


            //------------------ Sub sub servicio -------------------------
            servicioTercerNivel = new ArrayList<ServicioOd>();
            ServicioOd objServicio3 = new ServicioOd();
            objServicio3.setId(String.valueOf(1));
            objServicio3.setNombre(String.valueOf("Backend IDC"));


            //------------------ Sub sub sub servicio -------------------------
            servicioOds = new ArrayList<ServicioOd>();
            x = (r.nextInt(20+1));
            for (int i=0;i<x;i++){
                objServicio = new ServicioOd();
                objServicio.setId(String.valueOf(i));
                objServicio.setDirIP(String.valueOf("172.17.0." + i));
                objServicio.setNombre(String.valueOf("Servicio_Primr_" + objServicio3.getId() + "_Ser" + i));
                objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                servicioOds.add(objServicio);
            }

            objServicio3.setSubServicios(servicioOds);


            //*********************--------------------------------------------
            servicioTercerNivel.add(objServicio3);

            objServicio3 = new ServicioOd();
            objServicio3.setId(String.valueOf(2));
            objServicio3.setNombre(String.valueOf("MPLS Avanzado"));

            //------------------ Sub sub sub servicio -------------------------
            servicioOds = new ArrayList<ServicioOd>();
            x = (r.nextInt(20+1));
            for (int i=0;i<x;i++){
                objServicio = new ServicioOd();
                objServicio.setId(String.valueOf(i));
                objServicio.setDirIP(String.valueOf("172.17.0." + i));
                objServicio.setNombre(String.valueOf("Servicio_Primr_" + objServicio3.getId() + "_Ser" + i));
                objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                servicioOds.add(objServicio);
            }

            objServicio3.setSubServicios(servicioOds);


            //*********************--------------------------------------------

            servicioTercerNivel.add(objServicio3);

            objServicio3 = new ServicioOd();
            objServicio3.setId(String.valueOf(3));
            objServicio3.setNombre(String.valueOf("Peering"));

            //------------------ Sub sub sub servicio -------------------------
            servicioOds = new ArrayList<ServicioOd>();
            x = (r.nextInt(20+1));
            for (int i=0;i<x;i++){
                objServicio = new ServicioOd();
                objServicio.setId(String.valueOf(i));
                objServicio.setDirIP(String.valueOf("172.17.0." + i));
                objServicio.setNombre(String.valueOf("Servicio_Primr_" + objServicio3.getId() + "_Ser" + i));
                objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                servicioOds.add(objServicio);
            }

            objServicio3.setSubServicios(servicioOds);


            //*********************--------------------------------------------

            servicioTercerNivel.add(objServicio3);

            objServicio3 = new ServicioOd();
            objServicio3.setId(String.valueOf(4));
            objServicio3.setNombre(String.valueOf("Intranet Punto Central"));

            //------------------ Sub sub sub servicio -------------------------
            servicioOds = new ArrayList<ServicioOd>();
            x = (r.nextInt(20+1));
            for (int i=0;i<x;i++){
                objServicio = new ServicioOd();
                objServicio.setId(String.valueOf(i));
                objServicio.setDirIP(String.valueOf("172.17.0." + i));
                objServicio.setNombre(String.valueOf("Servicio_Primr_" + objServicio3.getId() + "_Ser" + i));
                objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                servicioOds.add(objServicio);
            }

            objServicio3.setSubServicios(servicioOds);


            //*********************--------------------------------------------

            servicioTercerNivel.add(objServicio3);

            objServicio3 = new ServicioOd();
            objServicio3.setId(String.valueOf(5));
            objServicio3.setNombre(String.valueOf("Balanceo de Carga"));

            //------------------ Sub sub sub servicio -------------------------
            servicioOds = new ArrayList<ServicioOd>();
            x = (r.nextInt(20+1));
            for (int i=0;i<x;i++){
                objServicio = new ServicioOd();
                objServicio.setId(String.valueOf(i));
                objServicio.setDirIP(String.valueOf("172.17.0." + i));
                objServicio.setNombre(String.valueOf("Servicio_Primr_" + objServicio3.getId() + "_Ser" + i));
                objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                servicioOds.add(objServicio);
            }

            objServicio3.setSubServicios(servicioOds);


            //*********************--------------------------------------------

            servicioTercerNivel.add(objServicio3);

            objServicio3 = new ServicioOd();
            objServicio3.setId(String.valueOf(6));
            objServicio3.setNombre(String.valueOf("Backend"));


            //------------------ Sub sub sub servicio -------------------------
            servicioOds = new ArrayList<ServicioOd>();
            x = (r.nextInt(20+1));
            for (int i=0;i<x;i++){
                objServicio = new ServicioOd();
                objServicio.setId(String.valueOf(i));
                objServicio.setDirIP(String.valueOf("172.17.0." + i));
                objServicio.setNombre(String.valueOf("Servicio_Primr_" + objServicio3.getId() + "_Ser" + i));
                objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                servicioOds.add(objServicio);
            }

            objServicio3.setSubServicios(servicioOds);


            //*********************--------------------------------------------

            servicioTercerNivel.add(objServicio3);

            objServicio3 = new ServicioOd();
            objServicio3.setId(String.valueOf(7));
            objServicio3.setNombre(String.valueOf("PL Ethernet"));

            //------------------ Sub sub sub servicio -------------------------
            servicioOds = new ArrayList<ServicioOd>();
            x = (r.nextInt(20+1));
            for (int i=0;i<x;i++){
                objServicio = new ServicioOd();
                objServicio.setId(String.valueOf(i));
                objServicio.setDirIP(String.valueOf("172.17.0." + i));
                objServicio.setNombre(String.valueOf("Servicio_Primr_" + objServicio3.getId() + "_Ser" + i));
                objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                servicioOds.add(objServicio);
            }

            objServicio3.setSubServicios(servicioOds);


            //*********************--------------------------------------------

            servicioTercerNivel.add(objServicio3);

            objServicio3 = new ServicioOd();
            objServicio3.setId(String.valueOf(8));
            objServicio3.setNombre(String.valueOf("Metro Ethernet"));

            //------------------ Sub sub sub servicio -------------------------
            servicioOds = new ArrayList<ServicioOd>();
            x = (r.nextInt(20+1));
            for (int i=0;i<x;i++){
                objServicio = new ServicioOd();
                objServicio.setId(String.valueOf(i));
                objServicio.setDirIP(String.valueOf("172.17.0." + i));
                objServicio.setNombre(String.valueOf("Servicio_Primr_" + objServicio3.getId() + "_Ser" + i));
                objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                servicioOds.add(objServicio);
            }

            objServicio3.setSubServicios(servicioOds);


            //*********************--------------------------------------------

            servicioTercerNivel.add(objServicio3);

            objServicio2.setSubServicios(servicioTercerNivel);

            //**************************************************************************
            servicioSegundoNivel.add(objServicio2);

            objServicio2 = new ServicioOd();
            objServicio2.setId(String.valueOf(2));
            objServicio2.setNombre(String.valueOf("Servicios de Infraestructura Tecnológica"));


            //------------------ Sub sub servicio -------------------------

            servicioTercerNivel = new ArrayList<ServicioOd>();
            objServicio3 = new ServicioOd();
            objServicio3.setId(String.valueOf(1));
            objServicio3.setNombre(String.valueOf("Almacenamiento"));

            //------------------ Sub sub sub servicio -------------------------
            servicioOds = new ArrayList<ServicioOd>();
            x = (r.nextInt(20+1));
            for (int i=0;i<x;i++){
                objServicio = new ServicioOd();
                objServicio.setId(String.valueOf(i));
                objServicio.setDirIP(String.valueOf("172.17.0." + i));
                objServicio.setNombre(String.valueOf("Servicio_Primr_" + objServicio3.getId() + "_Ser" + i));
                objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                servicioOds.add(objServicio);
            }

            objServicio3.setSubServicios(servicioOds);


            //*********************--------------------------------------------

            servicioTercerNivel.add(objServicio3);

            objServicio3 = new ServicioOd();
            objServicio3.setId(String.valueOf(2));
            objServicio3.setNombre(String.valueOf("Hosting"));

            //------------------ Sub sub sub servicio -------------------------
            servicioOds = new ArrayList<ServicioOd>();
            x = (r.nextInt(20+1));
            for (int i=0;i<x;i++){
                objServicio = new ServicioOd();
                objServicio.setId(String.valueOf(i));
                objServicio.setDirIP(String.valueOf("172.17.0." + i));
                objServicio.setNombre(String.valueOf("Servicio_Primr_" + objServicio3.getId() + "_Ser" + i));
                objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                servicioOds.add(objServicio);
            }

            objServicio3.setSubServicios(servicioOds);


            //*********************--------------------------------------------

            servicioTercerNivel.add(objServicio3);

            objServicio3 = new ServicioOd();
            objServicio3.setId(String.valueOf(3));
            objServicio3.setNombre(String.valueOf("Backup"));

            //------------------ Sub sub sub servicio -------------------------
            servicioOds = new ArrayList<ServicioOd>();
            x = (r.nextInt(20+1));
            for (int i=0;i<x;i++){
                objServicio = new ServicioOd();
                objServicio.setId(String.valueOf(i));
                objServicio.setDirIP(String.valueOf("172.17.0." + i));
                objServicio.setNombre(String.valueOf("Servicio_Primr_" + objServicio3.getId() + "_Ser" + i));
                objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                servicioOds.add(objServicio);
            }

            objServicio3.setSubServicios(servicioOds);


            //*********************--------------------------------------------

            servicioTercerNivel.add(objServicio3);

            objServicio3 = new ServicioOd();
            objServicio3.setId(String.valueOf(4));
            objServicio3.setNombre(String.valueOf("Custodia de Medios"));

            //------------------ Sub sub sub servicio -------------------------
            servicioOds = new ArrayList<ServicioOd>();
            x = (r.nextInt(20+1));
            for (int i=0;i<x;i++){
                objServicio = new ServicioOd();
                objServicio.setId(String.valueOf(i));
                objServicio.setDirIP(String.valueOf("172.17.0." + i));
                objServicio.setNombre(String.valueOf("Servicio_Primr_" + objServicio3.getId() + "_Ser" + i));
                objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                servicioOds.add(objServicio);
            }

            objServicio3.setSubServicios(servicioOds);


            //*********************--------------------------------------------

            servicioTercerNivel.add(objServicio3);

            objServicio3 = new ServicioOd();
            objServicio3.setId(String.valueOf(5));
            objServicio3.setNombre(String.valueOf("Pool de Recursos Virtuales"));

            //------------------ Sub sub sub servicio -------------------------
            servicioOds = new ArrayList<ServicioOd>();
            x = (r.nextInt(20+1));
            for (int i=0;i<x;i++){
                objServicio = new ServicioOd();
                objServicio.setId(String.valueOf(i));
                objServicio.setDirIP(String.valueOf("172.17.0." + i));
                objServicio.setNombre(String.valueOf("Servicio_Primr_" + objServicio3.getId() + "_Ser" + i));
                objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                servicioOds.add(objServicio);
            }

            objServicio3.setSubServicios(servicioOds);


            //*********************--------------------------------------------

            servicioTercerNivel.add(objServicio3);

            objServicio3 = new ServicioOd();
            objServicio3.setId(String.valueOf(6));
            objServicio3.setNombre(String.valueOf("Manos útiles"));

            //------------------ Sub sub sub servicio -------------------------
            servicioOds = new ArrayList<ServicioOd>();
            x = (r.nextInt(20+1));
            for (int i=0;i<x;i++){
                objServicio = new ServicioOd();
                objServicio.setId(String.valueOf(i));
                objServicio.setDirIP(String.valueOf("172.17.0." + i));
                objServicio.setNombre(String.valueOf("Servicio_Primr_" + objServicio3.getId() + "_Ser" + i));
                objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                servicioOds.add(objServicio);
            }

            objServicio3.setSubServicios(servicioOds);


            //*********************--------------------------------------------

            servicioTercerNivel.add(objServicio3);

            objServicio3 = new ServicioOd();
            objServicio3.setId(String.valueOf(7));
            objServicio3.setNombre(String.valueOf("Migración y Recepción de Infraestructura"));

            //------------------ Sub sub sub servicio -------------------------
            servicioOds = new ArrayList<ServicioOd>();
            x = (r.nextInt(20+1));
            for (int i=0;i<x;i++){
                objServicio = new ServicioOd();
                objServicio.setId(String.valueOf(i));
                objServicio.setDirIP(String.valueOf("172.17.0." + i));
                objServicio.setNombre(String.valueOf("Servicio_Primr_" + objServicio3.getId() + "_Ser" + i));
                objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                servicioOds.add(objServicio);
            }

            objServicio3.setSubServicios(servicioOds);


            //*********************--------------------------------------------

            servicioTercerNivel.add(objServicio3);

            objServicio3 = new ServicioOd();
            objServicio3.setId(String.valueOf(8));
            objServicio3.setNombre(String.valueOf("Puestos de Trabajo"));

            //------------------ Sub sub sub servicio -------------------------
            servicioOds = new ArrayList<ServicioOd>();
            x = (r.nextInt(20+1));
            for (int i=0;i<x;i++){
                objServicio = new ServicioOd();
                objServicio.setId(String.valueOf(i));
                objServicio.setDirIP(String.valueOf("172.17.0." + i));
                objServicio.setNombre(String.valueOf("Servicio_Primr_" + objServicio3.getId() + "_Ser" + i));
                objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                servicioOds.add(objServicio);
            }

            objServicio3.setSubServicios(servicioOds);


            //*********************--------------------------------------------

            servicioTercerNivel.add(objServicio3);

            objServicio2.setSubServicios(servicioTercerNivel);

            //**************************************************************************

            servicioSegundoNivel.add(objServicio2);

            objServicio1.setSubServicios(servicioSegundoNivel);

            //-----------------------------------------------------------
            servicioPrimerNivel.add(objServicio1);


            objServicio1 = new ServicioOd();
            objServicio1.setId(String.valueOf(2));
            objServicio1.setNombre(String.valueOf("Servicios Administrados"));

            //------------------ sub servicio -------------------------
            servicioSegundoNivel = new ArrayList<ServicioOd>();

            objServicio2 = new ServicioOd();
            objServicio2.setId(String.valueOf(1));
            objServicio2.setNombre(String.valueOf("Servicios Administrados de Aplicaciones"));

            //------------------ Sub sub servicio -------------------------

            servicioTercerNivel = new ArrayList<ServicioOd>();
            objServicio3 = new ServicioOd();
            objServicio3.setId(String.valueOf(1));
            objServicio3.setNombre(String.valueOf("Administración Sistema Operativo"));

            //------------------ Sub sub sub servicio -------------------------
            servicioOds = new ArrayList<ServicioOd>();
            x = (r.nextInt(20+1));
            for (int i=0;i<x;i++){
                objServicio = new ServicioOd();
                objServicio.setId(String.valueOf(i));
                objServicio.setDirIP(String.valueOf("172.17.0." + i));
                objServicio.setNombre(String.valueOf("Servicio_Primr_" + objServicio3.getId() + "_Ser" + i));
                objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                servicioOds.add(objServicio);
            }

            objServicio3.setSubServicios(servicioOds);


            //*********************--------------------------------------------

            servicioTercerNivel.add(objServicio3);

            objServicio3 = new ServicioOd();
            objServicio3.setId(String.valueOf(2));
            objServicio3.setNombre(String.valueOf("Administración Base de Datos"));

            //------------------ Sub sub sub servicio -------------------------
            servicioOds = new ArrayList<ServicioOd>();
            x = (r.nextInt(20+1));
            for (int i=0;i<x;i++){
                objServicio = new ServicioOd();
                objServicio.setId(String.valueOf(i));
                objServicio.setDirIP(String.valueOf("172.17.0." + i));
                objServicio.setNombre(String.valueOf("Servicio_Primr_" + objServicio3.getId() + "_Ser" + i));
                objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                servicioOds.add(objServicio);
            }

            objServicio3.setSubServicios(servicioOds);


            //*********************--------------------------------------------

            servicioTercerNivel.add(objServicio3);

            objServicio3 = new ServicioOd();
            objServicio3.setId(String.valueOf(3));
            objServicio3.setNombre(String.valueOf("Gestión y Monitoreo"));

            //------------------ Sub sub sub servicio -------------------------
            servicioOds = new ArrayList<ServicioOd>();
            x = (r.nextInt(20+1));
            for (int i=0;i<x;i++){
                objServicio = new ServicioOd();
                objServicio.setId(String.valueOf(i));
                objServicio.setDirIP(String.valueOf("172.17.0." + i));
                objServicio.setNombre(String.valueOf("Servicio_Primr_" + objServicio3.getId() + "_Ser" + i));
                objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                servicioOds.add(objServicio);
            }

            objServicio3.setSubServicios(servicioOds);


            //*********************--------------------------------------------

            servicioTercerNivel.add(objServicio3);

            objServicio3 = new ServicioOd();
            objServicio3.setId(String.valueOf(4));
            objServicio3.setNombre(String.valueOf("Microsoft OCS/Lync Server"));

            //------------------ Sub sub sub servicio -------------------------
            servicioOds = new ArrayList<ServicioOd>();
            x = (r.nextInt(20+1));
            for (int i=0;i<x;i++){
                objServicio = new ServicioOd();
                objServicio.setId(String.valueOf(i));
                objServicio.setDirIP(String.valueOf("172.17.0." + i));
                objServicio.setNombre(String.valueOf("Servicio_Primr_" + objServicio3.getId() + "_Ser" + i));
                objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                servicioOds.add(objServicio);
            }

            objServicio3.setSubServicios(servicioOds);


            //*********************--------------------------------------------

            servicioTercerNivel.add(objServicio3);

            objServicio3 = new ServicioOd();
            objServicio3.setId(String.valueOf(5));
            objServicio3.setNombre(String.valueOf("Microsoft Sharepoint Server"));

            //------------------ Sub sub sub servicio -------------------------
            servicioOds = new ArrayList<ServicioOd>();
            x = (r.nextInt(20+1));
            for (int i=0;i<x;i++){
                objServicio = new ServicioOd();
                objServicio.setId(String.valueOf(i));
                objServicio.setDirIP(String.valueOf("172.17.0." + i));
                objServicio.setNombre(String.valueOf("Servicio_Primr_" + objServicio3.getId() + "_Ser" + i));
                objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                servicioOds.add(objServicio);
            }

            objServicio3.setSubServicios(servicioOds);


            //*********************--------------------------------------------

            servicioTercerNivel.add(objServicio3);

            objServicio3 = new ServicioOd();
            objServicio3.setId(String.valueOf(6));
            objServicio3.setNombre(String.valueOf("Administración Microsoft Exchange"));

            //------------------ Sub sub sub servicio -------------------------
            servicioOds = new ArrayList<ServicioOd>();
            x = (r.nextInt(20+1));
            for (int i=0;i<x;i++){
                objServicio = new ServicioOd();
                objServicio.setId(String.valueOf(i));
                objServicio.setDirIP(String.valueOf("172.17.0." + i));
                objServicio.setNombre(String.valueOf("Servicio_Primr_" + objServicio3.getId() + "_Ser" + i));
                objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                servicioOds.add(objServicio);
            }

            objServicio3.setSubServicios(servicioOds);


            //*********************--------------------------------------------

            servicioTercerNivel.add(objServicio3);

            objServicio3 = new ServicioOd();
            objServicio3.setId(String.valueOf(7));
            objServicio3.setNombre(String.valueOf("Administración Microsoft Active Directory"));

            //------------------ Sub sub sub servicio -------------------------
            servicioOds = new ArrayList<ServicioOd>();
            x = (r.nextInt(20+1));
            for (int i=0;i<x;i++){
                objServicio = new ServicioOd();
                objServicio.setId(String.valueOf(i));
                objServicio.setDirIP(String.valueOf("172.17.0." + i));
                objServicio.setNombre(String.valueOf("Servicio_Primr_" + objServicio3.getId() + "_Ser" + i));
                objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                servicioOds.add(objServicio);
            }

            objServicio3.setSubServicios(servicioOds);


            //*********************--------------------------------------------

            servicioTercerNivel.add(objServicio3);

            objServicio3 = new ServicioOd();
            objServicio3.setId(String.valueOf(8));
            objServicio3.setNombre(String.valueOf("Weblogic (Oracle)"));

            //------------------ Sub sub sub servicio -------------------------
            servicioOds = new ArrayList<ServicioOd>();
            x = (r.nextInt(20+1));
            for (int i=0;i<x;i++){
                objServicio = new ServicioOd();
                objServicio.setId(String.valueOf(i));
                objServicio.setDirIP(String.valueOf("172.17.0." + i));
                objServicio.setNombre(String.valueOf("Servicio_Primr_" + objServicio3.getId() + "_Ser" + i));
                objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                servicioOds.add(objServicio);
            }

            objServicio3.setSubServicios(servicioOds);


            //*********************--------------------------------------------

            servicioTercerNivel.add(objServicio3);

            objServicio2.setSubServicios(servicioTercerNivel);

            //**************************************************************************
            servicioSegundoNivel.add(objServicio2);

            objServicio2 = new ServicioOd();
            objServicio2.setId(String.valueOf(2));
            objServicio2.setNombre(String.valueOf("Servicios Administrados de Seguridad"));


            //------------------ Sub sub servicio -------------------------

            servicioTercerNivel = new ArrayList<ServicioOd>();
            objServicio3 = new ServicioOd();
            objServicio3.setId(String.valueOf(1));
            objServicio3.setNombre(String.valueOf("Firewall Administrado"));

            //------------------ Sub sub sub servicio -------------------------
            servicioOds = new ArrayList<ServicioOd>();
            x = (r.nextInt(20+1));
            for (int i=0;i<x;i++){
                objServicio = new ServicioOd();
                objServicio.setId(String.valueOf(i));
                objServicio.setDirIP(String.valueOf("172.17.0." + i));
                objServicio.setNombre(String.valueOf("Servicio_Primr_" + objServicio3.getId() + "_Ser" + i));
                objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                servicioOds.add(objServicio);
            }

            objServicio3.setSubServicios(servicioOds);


            //*********************--------------------------------------------

            servicioTercerNivel.add(objServicio3);

            objServicio3 = new ServicioOd();
            objServicio3.setId(String.valueOf(2));
            objServicio3.setNombre(String.valueOf("VPN Administrada"));

            //------------------ Sub sub sub servicio -------------------------
            servicioOds = new ArrayList<ServicioOd>();
            x = (r.nextInt(20+1));
            for (int i=0;i<x;i++){
                objServicio = new ServicioOd();
                objServicio.setId(String.valueOf(i));
                objServicio.setDirIP(String.valueOf("172.17.0." + i));
                objServicio.setNombre(String.valueOf("Servicio_Primr_" + objServicio3.getId() + "_Ser" + i));
                objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                servicioOds.add(objServicio);
            }

            objServicio3.setSubServicios(servicioOds);


            //*********************--------------------------------------------

            servicioTercerNivel.add(objServicio3);

            objServicio3 = new ServicioOd();
            objServicio3.setId(String.valueOf(3));
            objServicio3.setNombre(String.valueOf("Correo Seguro"));

            //------------------ Sub sub sub servicio -------------------------
            servicioOds = new ArrayList<ServicioOd>();
            x = (r.nextInt(20+1));
            for (int i=0;i<x;i++){
                objServicio = new ServicioOd();
                objServicio.setId(String.valueOf(i));
                objServicio.setDirIP(String.valueOf("172.17.0." + i));
                objServicio.setNombre(String.valueOf("Servicio_Primr_" + objServicio3.getId() + "_Ser" + i));
                objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                servicioOds.add(objServicio);
            }

            objServicio3.setSubServicios(servicioOds);


            //*********************--------------------------------------------

            servicioTercerNivel.add(objServicio3);

            objServicio3 = new ServicioOd();
            objServicio3.setId(String.valueOf(4));
            objServicio3.setNombre(String.valueOf("IPS - Sistema de Protección de Intrusos"));

            //------------------ Sub sub sub servicio -------------------------
            servicioOds = new ArrayList<ServicioOd>();
            x = (r.nextInt(20+1));
            for (int i=0;i<x;i++){
                objServicio = new ServicioOd();
                objServicio.setId(String.valueOf(i));
                objServicio.setDirIP(String.valueOf("172.17.0." + i));
                objServicio.setNombre(String.valueOf("Servicio_Primr_" + objServicio3.getId() + "_Ser" + i));
                objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                servicioOds.add(objServicio);
            }

            objServicio3.setSubServicios(servicioOds);


            //*********************--------------------------------------------

            servicioTercerNivel.add(objServicio3);

            objServicio3 = new ServicioOd();
            objServicio3.setId(String.valueOf(5));
            objServicio3.setNombre(String.valueOf("Control de Navegación"));

            //------------------ Sub sub sub servicio -------------------------
            servicioOds = new ArrayList<ServicioOd>();
            x = (r.nextInt(20+1));
            for (int i=0;i<x;i++){
                objServicio = new ServicioOd();
                objServicio.setId(String.valueOf(i));
                objServicio.setDirIP(String.valueOf("172.17.0." + i));
                objServicio.setNombre(String.valueOf("Servicio_Primr_" + objServicio3.getId() + "_Ser" + i));
                objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                servicioOds.add(objServicio);
            }

            objServicio3.setSubServicios(servicioOds);


            //*********************--------------------------------------------

            servicioTercerNivel.add(objServicio3);

            objServicio3 = new ServicioOd();
            objServicio3.setId(String.valueOf(6));
            objServicio3.setNombre(String.valueOf("Administración Ancho de Banda"));

            //------------------ Sub sub sub servicio -------------------------
            servicioOds = new ArrayList<ServicioOd>();
            x = (r.nextInt(20+1));
            for (int i=0;i<x;i++){
                objServicio = new ServicioOd();
                objServicio.setId(String.valueOf(i));
                objServicio.setDirIP(String.valueOf("172.17.0." + i));
                objServicio.setNombre(String.valueOf("Servicio_Primr_" + objServicio3.getId() + "_Ser" + i));
                objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                servicioOds.add(objServicio);
            }

            objServicio3.setSubServicios(servicioOds);


            //*********************--------------------------------------------

            servicioTercerNivel.add(objServicio3);

            objServicio3 = new ServicioOd();
            objServicio3.setId(String.valueOf(7));
            objServicio3.setNombre(String.valueOf("Análisis y Gestión de Vulnerabilidades"));

            //------------------ Sub sub sub servicio -------------------------
            servicioOds = new ArrayList<ServicioOd>();
            x = (r.nextInt(20+1));
            for (int i=0;i<x;i++){
                objServicio = new ServicioOd();
                objServicio.setId(String.valueOf(i));
                objServicio.setDirIP(String.valueOf("172.17.0." + i));
                objServicio.setNombre(String.valueOf("Servicio_Primr_" + objServicio3.getId() + "_Ser" + i));
                objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                servicioOds.add(objServicio);
            }

            objServicio3.setSubServicios(servicioOds);


            //*********************--------------------------------------------

            servicioTercerNivel.add(objServicio3);

            objServicio3 = new ServicioOd();
            objServicio3.setId(String.valueOf(8));
            objServicio3.setNombre(String.valueOf("Proxy Web"));

            //------------------ Sub sub sub servicio -------------------------
            servicioOds = new ArrayList<ServicioOd>();
            x = (r.nextInt(20+1));
            for (int i=0;i<x;i++){
                objServicio = new ServicioOd();
                objServicio.setId(String.valueOf(i));
                objServicio.setDirIP(String.valueOf("172.17.0." + i));
                objServicio.setNombre(String.valueOf("Servicio_Primr_" + objServicio3.getId() + "_Ser" + i));
                objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                servicioOds.add(objServicio);
            }

            objServicio3.setSubServicios(servicioOds);


            //*********************--------------------------------------------

            servicioTercerNivel.add(objServicio3);

            objServicio2.setSubServicios(servicioTercerNivel);

            //**************************************************************************




            servicioSegundoNivel.add(objServicio2);

            objServicio1.setSubServicios(servicioSegundoNivel);

            //-----------------------------------------------------------

            servicioPrimerNivel.add(objServicio1);

            objServicio1 = new ServicioOd();
            objServicio1.setId(String.valueOf(3));
            objServicio1.setNombre(String.valueOf("Servicios Profesionales"));

            //------------------ sub servicio -------------------------
            servicioSegundoNivel = new ArrayList<ServicioOd>();
            objServicio2 = new ServicioOd();
            objServicio2.setId(String.valueOf(1));
            objServicio2.setNombre(String.valueOf("Servicios Profesionales de Aplicaciones"));

            //------------------ Sub sub servicio -------------------------

            servicioTercerNivel = new ArrayList<ServicioOd>();
            objServicio3 = new ServicioOd();
            objServicio3.setId(String.valueOf(1));
            objServicio3.setNombre(String.valueOf("Replicación Base de Datos"));

            //------------------ Sub sub sub servicio -------------------------
            servicioOds = new ArrayList<ServicioOd>();
            x = (r.nextInt(20+1));
            for (int i=0;i<x;i++){
                objServicio = new ServicioOd();
                objServicio.setId(String.valueOf(i));
                objServicio.setDirIP(String.valueOf("172.17.0." + i));
                objServicio.setNombre(String.valueOf("Servicio_Primr_" + objServicio3.getId() + "_Ser" + i));
                objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                servicioOds.add(objServicio);
            }

            objServicio3.setSubServicios(servicioOds);


            //*********************--------------------------------------------

            servicioTercerNivel.add(objServicio3);

            objServicio3 = new ServicioOd();
            objServicio3.setId(String.valueOf(2));
            objServicio3.setNombre(String.valueOf("Servicios Implementación y Ejecución de Procedimientos de DRP"));

            //------------------ Sub sub sub servicio -------------------------
            servicioOds = new ArrayList<ServicioOd>();
            x = (r.nextInt(20+1));
            for (int i=0;i<x;i++){
                objServicio = new ServicioOd();
                objServicio.setId(String.valueOf(i));
                objServicio.setDirIP(String.valueOf("172.17.0." + i));
                objServicio.setNombre(String.valueOf("Servicio_Primr_" + objServicio3.getId() + "_Ser" + i));
                objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                servicioOds.add(objServicio);
            }

            objServicio3.setSubServicios(servicioOds);


            //*********************--------------------------------------------

            servicioTercerNivel.add(objServicio3);

            objServicio3 = new ServicioOd();
            objServicio3.setId(String.valueOf(3));
            objServicio3.setNombre(String.valueOf("Migración Base de Datos"));

            //------------------ Sub sub sub servicio -------------------------
            servicioOds = new ArrayList<ServicioOd>();
            x = (r.nextInt(20+1));
            for (int i=0;i<x;i++){
                objServicio = new ServicioOd();
                objServicio.setId(String.valueOf(i));
                objServicio.setDirIP(String.valueOf("172.17.0." + i));
                objServicio.setNombre(String.valueOf("Servicio_Primr_" + objServicio3.getId() + "_Ser" + i));
                objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                servicioOds.add(objServicio);
            }

            objServicio3.setSubServicios(servicioOds);


            //*********************--------------------------------------------

            servicioTercerNivel.add(objServicio3);

            objServicio3 = new ServicioOd();
            objServicio3.setId(String.valueOf(4));
            objServicio3.setNombre(String.valueOf("Migración Active Directory"));


            //------------------ Sub sub sub servicio -------------------------
            servicioOds = new ArrayList<ServicioOd>();
            x = (r.nextInt(20+1));
            for (int i=0;i<x;i++){
                objServicio = new ServicioOd();
                objServicio.setId(String.valueOf(i));
                objServicio.setDirIP(String.valueOf("172.17.0." + i));
                objServicio.setNombre(String.valueOf("Servicio_Primr_" + objServicio3.getId() + "_Ser" + i));
                objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                servicioOds.add(objServicio);
            }

            objServicio3.setSubServicios(servicioOds);


            //*********************--------------------------------------------

            servicioTercerNivel.add(objServicio3);

            objServicio3 = new ServicioOd();
            objServicio3.setId(String.valueOf(5));
            objServicio3.setNombre(String.valueOf("Migración Exchange"));

            //------------------ Sub sub sub servicio -------------------------
            servicioOds = new ArrayList<ServicioOd>();
            x = (r.nextInt(20+1));
            for (int i=0;i<x;i++){
                objServicio = new ServicioOd();
                objServicio.setId(String.valueOf(i));
                objServicio.setDirIP(String.valueOf("172.17.0." + i));
                objServicio.setNombre(String.valueOf("Servicio_Primr_" + objServicio3.getId() + "_Ser" + i));
                objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                servicioOds.add(objServicio);
            }

            objServicio3.setSubServicios(servicioOds);


            //*********************--------------------------------------------

            servicioTercerNivel.add(objServicio3);

            objServicio2.setSubServicios(servicioTercerNivel);

            //**************************************************************************
            servicioSegundoNivel.add(objServicio2);

            objServicio2 = new ServicioOd();
            objServicio2.setId(String.valueOf(2));
            objServicio2.setNombre(String.valueOf("Servicios Profesionales de Seguridad"));

            //------------------ Sub sub servicio -------------------------

            servicioTercerNivel = new ArrayList<ServicioOd>();
            objServicio3 = new ServicioOd();
            objServicio3.setId(String.valueOf(1));
            objServicio3.setNombre(String.valueOf("Ethical Hacking"));

            //------------------ Sub sub sub servicio -------------------------
            servicioOds = new ArrayList<ServicioOd>();
            x = (r.nextInt(20+1));
            for (int i=0;i<x;i++){
                objServicio = new ServicioOd();
                objServicio.setId(String.valueOf(i));
                objServicio.setDirIP(String.valueOf("172.17.0." + i));
                objServicio.setNombre(String.valueOf("Servicio_Primr_" + objServicio3.getId() + "_Ser" + i));
                objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                servicioOds.add(objServicio);
            }

            objServicio3.setSubServicios(servicioOds);


            //*********************--------------------------------------------

            servicioTercerNivel.add(objServicio3);

            objServicio3 = new ServicioOd();
            objServicio3.setId(String.valueOf(2));
            objServicio3.setNombre(String.valueOf("Detección de vulnerabilidades"));

            //------------------ Sub sub sub servicio -------------------------
            servicioOds = new ArrayList<ServicioOd>();
            x = (r.nextInt(20+1));
            for (int i=0;i<x;i++){
                objServicio = new ServicioOd();
                objServicio.setId(String.valueOf(i));
                objServicio.setDirIP(String.valueOf("172.17.0." + i));
                objServicio.setNombre(String.valueOf("Servicio_Primr_" + objServicio3.getId() + "_Ser" + i));
                objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                servicioOds.add(objServicio);
            }

            objServicio3.setSubServicios(servicioOds);


            //*********************--------------------------------------------

            servicioTercerNivel.add(objServicio3);

            objServicio3 = new ServicioOd();
            objServicio3.setId(String.valueOf(3));
            objServicio3.setNombre(String.valueOf("Monitoreo y Correlación de Eventos de Seguridad"));

            //------------------ Sub sub sub servicio -------------------------
            servicioOds = new ArrayList<ServicioOd>();
            x = (r.nextInt(20+1));
            for (int i=0;i<x;i++){
                objServicio = new ServicioOd();
                objServicio.setId(String.valueOf(i));
                objServicio.setDirIP(String.valueOf("172.17.0." + i));
                objServicio.setNombre(String.valueOf("Servicio_Primr_" + objServicio3.getId() + "_Ser" + i));
                objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                servicioOds.add(objServicio);
            }

            objServicio3.setSubServicios(servicioOds);


            //*********************--------------------------------------------

            servicioTercerNivel.add(objServicio3);

            objServicio2.setSubServicios(servicioTercerNivel);

            //**************************************************************************

            servicioSegundoNivel.add(objServicio2);

            objServicio1.setSubServicios(servicioSegundoNivel);

            //-----------------------------------------------------------

            servicioPrimerNivel.add(objServicio1);

            objServicio1 = new ServicioOd();
            objServicio1.setId(String.valueOf(4));
            objServicio1.setNombre(String.valueOf("Servicios Cloud"));

            //------------------ sub servicio -------------------------
            servicioSegundoNivel = new ArrayList<ServicioOd>();
            objServicio2 = new ServicioOd();
            objServicio2.setId(String.valueOf(2));
            objServicio2.setNombre(String.valueOf("Servicios Cloud"));



            //------------------ Sub sub servicio -------------------------

            servicioTercerNivel = new ArrayList<ServicioOd>();
            objServicio3 = new ServicioOd();
            objServicio3.setId(String.valueOf(1));
            objServicio3.setNombre(String.valueOf("Microsoft Office 365"));

            //------------------ Sub sub sub servicio -------------------------
            servicioOds = new ArrayList<ServicioOd>();
            x = (r.nextInt(20+1));
            for (int i=0;i<x;i++){
                objServicio = new ServicioOd();
                objServicio.setId(String.valueOf(i));
                objServicio.setDirIP(String.valueOf("172.17.0." + i));
                objServicio.setNombre(String.valueOf("Servicio_Primr_" + objServicio3.getId() + "_Ser" + i));
                objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                servicioOds.add(objServicio);
            }

            objServicio3.setSubServicios(servicioOds);


            //*********************--------------------------------------------

            servicioTercerNivel.add(objServicio3);

            objServicio2.setSubServicios(servicioTercerNivel);

            //**************************************************************************

            servicioSegundoNivel.add(objServicio2);

            objServicio1.setSubServicios(servicioSegundoNivel);

            //-----------------------------------------------------------

            servicioPrimerNivel.add(objServicio1);






            /*if(c.empresa().equals("Claro")){
                int x;
                Random r = new Random();
                servicioOds = new ArrayList<ServicioOd>();
                for(ServicioOd objSer : servicioPrimerNivel){
                    x = (r.nextInt(20+1));
                    for (int i=0;i<x;i++){
                        objServicio = new ServicioOd();
                        objServicio.setId(String.valueOf(i));
                        objServicio.setDirIP(String.valueOf("172.17.0." + i));
                        objServicio.setNombre(String.valueOf("Servicio_Primr_" + objSer.getId() + "_Ser" + i));
                        objServicio.setUbicacion(String.valueOf("Bodega_DER" + i));
                        servicioOds.add(objServicio);
                    }

                    objSer.setSubServicios(String.valueOf(servicioOds));
                    servicioOds.clear();

                }
            }*/




            time = System.currentTimeMillis () - time;

            logger.info(ResourceBundle.getBundle("mensajeslogs").getString("mensaje.exitos.ino")+ ConsultasIo.class+" | "+origen);


        }
        catch (Exception ex) {
            logger.error(ex);
        }
        finally {
//             closeJdbcObjects (connection, statement, result);
        }

        return (servicioPrimerNivel);
    }


}




